package ar.edu.unsam.algo3.plantasvszombies.ui.ApplicationModels

import ar.edu.unsam.algo3.plantasvszombies.dominio.Batalla
import ar.edu.unsam.algo3.plantasvszombies.dominio.Fila
import ar.edu.unsam.algo3.plantasvszombies.dominio.Zombie
import ar.edu.unsam.algo3.plantasvszombies.homes.HomeZombies
import java.util.ArrayList
import java.util.List
import org.uqbar.commons.utils.ApplicationContext
import org.uqbar.commons.utils.Observable

//Application Model
@Observable
class BatallaAppModel {
	@Property List<Zombie> result //Trae toda la lista de zombies
	@Property Zombie selectedItem //Es el zombie que selecciono del combo. Se lo seteo a la batalla en atacar
	@Property Fila fila //Esta fila viene dada como parámetro al seleccionar desde Jardin
	@Property Batalla batalla = new Batalla
	@Property List<String> resultado

	def void atacar() {
		batalla.zombie = selectedItem
		batalla.atacar
		resultado = new ArrayList
		resultado = batalla.resultado
	}

	def void mostrar() {
		result = new ArrayList<Zombie>
		result = getHomeZombies().mostrar
	}

	def HomeZombies getHomeZombies() {
		ApplicationContext::instance.getSingleton(typeof(Zombie))
	}
}
